Interactive voice response (“IVR”) units (or simply “IVRs”) are commonly used in contact centers to receive a call, play an announcement to the caller, present the caller with a set of menu options, and frequently collect a caller response to a menu option. The IVR provides an easy-to-use self-service platform that can be used to answer typical caller questions, which may be used determine the purpose of the call so as to better route the call. In many applications, the IVR may reduce the need for contact center agents.
In many instances, the IVR may have a sophisticated menu structure, providing for various levels of menus. This structure may reflect normal (e.g., non-error) user interactions with the IVR. In addition, the IVR may be programmed to account for each of the various possible types of errors that a user may cause during a call. Such errors may include entering a non-allowed input, entering a series of digits too quickly, waiting too long to respond to a prompt, etc.
Testing an IVR to ensure that the normal call flow interactions work property, as well accommodating all the possible abnormal interactions can be difficult for a developer. While some debugging tools allow a developer to test various scripts or menu flows by simulating a call to the IVR, such testing does not always identify all the possible problems that may occur when interacting with a live call. Invariably, effectively testing the menu options, response handling, and logic of an IVR requires the use of live calls interacting with the IVR under actual conditions to detect problems that a simulator may not always detect. However, using live calls can be time-consuming. This may require the developer to place a live call to a number to access the IVR, interact through a series of menu levels, and then select one of a plurality of menu options. Each time an option is selected, the user may have to terminate the call, and begin over to navigate to a same menu level to then select the next option. It would be much more convenient if a developer could somehow “back-up” a single menu level during the live call, rather than having to begin with another call to the IVR and repeat the interactions in order to return to the same location. While this capability could be provided to the caller as an IVR menu option, this may not always be possible. Thus, improved approaches are needed for being able to use a live call to debug an IVR and control navigation in the IVR separate from using the telephone. It is with respect to these considerations and others that the disclosure herein is presented.